home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 02 - 1986 / 02.02 Feb 86.sit / 02.02 Feb 86 / C 2.2 / Laser Print Source / acc.c next >
MacBinary  |  1986-01-01  |  5.1 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
10% dexvert Jesper Olsen Module (music/jesperOlsen) magic Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Tue Dec 31 23:14:54 1985, modified Tue Dec 31 23:14:54 1985, creator Macintosh Edit, type ASCII, 4079 bytes "acc.c" , at 0x106f 900 bytes resource default (weak)
99% file data default
49% TrID Macintosh plain text (MacBinary) default
33% TrID TTComp archive compressed (bin-2K) default (weak)
16% TrID MacBinary 2 default (weak)
0% TrID Sybase iAnywhere database files default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 05 61 63 63 2e 63 00 | 00 00 00 00 00 00 00 00 |..acc.c.|........|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 0f ef 00 | 00 03 84 9a 3e 6a 3e 9a |........|....>j>.|
|00000060| 3e 6a 3e 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |>j>.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 e7 fc 00 00 |........|........|
|00000080| 23 64 65 66 69 6e 65 20 | 53 41 56 45 41 34 20 36 |#define |SAVEA4 6|
|00000090| 39 34 0d 0d 65 78 74 65 | 72 6e 20 69 6e 74 20 5f |94..exte|rn int _|
|000000a0| 47 4c 42 4c 53 49 5a 45 | 3b 0d 0d 65 78 74 65 72 |GLBLSIZE|;..exter|
|000000b0| 6e 20 61 63 63 6f 70 65 | 6e 28 29 3b 0d 65 78 74 |n accope|n();.ext|
|000000c0| 65 72 6e 20 61 63 63 70 | 72 69 6d 65 28 29 3b 0d |ern accp|rime();.|
|000000d0| 65 78 74 65 72 6e 20 61 | 63 63 63 74 6c 28 29 3b |extern a|ccctl();|
|000000e0| 0d 65 78 74 65 72 6e 20 | 61 63 63 73 74 61 74 75 |.extern |accstatu|
|000000f0| 73 28 29 3b 0d 65 78 74 | 65 72 6e 20 61 63 63 63 |s();.ext|ern accc|
|00000100| 6c 6f 73 65 28 29 3b 0d | 0d 5f 61 63 63 6f 70 65 |lose();.|._accope|
|00000110| 6e 28 29 0d 7b 0d 20 20 | 20 20 73 74 61 74 69 63 |n().{. | static|
|00000120| 20 5f 63 61 6c 6c 61 63 | 63 28 29 3b 0d 20 20 20 | _callac|c();. |
|00000130| 20 69 6e 74 20 6f 69 64 | 3b 09 2f 2a 20 6f 77 6e | int oid|;./* own|
|00000140| 65 64 20 72 65 73 6f 75 | 72 63 65 20 69 64 20 6e |ed resou|rce id n|
|00000150| 75 6d 62 65 72 20 2a 2f | 0d 20 20 20 20 61 73 6d |umber */|. asm|
|00000160| 20 7b 0d 09 74 73 74 2e | 6c 09 32 30 28 41 31 29 | {..tst.|l.20(A1)|
|00000170| 09 20 20 20 20 3b 73 65 | 65 20 69 66 20 6f 70 65 |. ;se|e if ope|
|00000180| 6e 28 29 20 61 6c 72 65 | 61 64 79 20 63 61 6c 6c |n() alre|ady call|
|00000190| 65 64 0d 09 62 65 71 09 | 63 6f 6e 74 09 20 20 20 |ed..beq.|cont. |
|000001a0| 20 3b 64 6f 20 69 6e 69 | 74 20 73 74 75 66 66 20 | ;do ini|t stuff |
|000001b0| 69 66 20 6e 6f 74 0d 09 | 70 65 61 09 61 63 63 6f |if not..|pea.acco|
|000001c0| 70 65 6e 28 50 43 29 0d | 09 6a 73 72 09 5f 63 61 |pen(PC).|.jsr._ca|
|000001d0| 6c 6c 61 63 63 28 50 43 | 29 0d 09 61 64 64 71 2e |llacc(PC|)..addq.|
|000001e0| 6c 09 23 34 2c 41 37 0d | 09 75 6e 6c 6b 09 41 36 |l.#4,A7.|.unlk.A6|
|000001f0| 0d 09 72 74 73 0d 0d 20 | 20 20 20 63 6f 6e 74 3a |..rts.. | cont:|
|00000200| 0d 09 6d 6f 76 65 6d 2e | 6c 20 44 31 2d 44 35 2f |..movem.|l D1-D5/|
|00000210| 41 32 2d 41 34 2c 2d 28 | 41 37 29 20 20 3b 73 61 |A2-A4,-(|A7) ;sa|
|00000220| 76 65 20 72 65 67 69 73 | 74 65 72 73 20 74 68 61 |ve regis|ters tha|
|00000230| 74 20 6d 69 67 68 74 20 | 62 65 20 75 73 65 64 0d |t might |be used.|
|00000240| 09 6d 6f 76 65 2e 6c 20 | 20 53 41 56 45 41 34 2c |.move.l | SAVEA4,|
|00000250| 2d 28 41 37 29 09 3b 73 | 61 76 65 20 6f 6c 64 20 |-(A7).;s|ave old |
|00000260| 41 34 20 76 61 6c 75 65 | 0d 09 6d 6f 76 65 2e 6c |A4 value|..move.l|
|00000270| 09 41 30 2c 20 2d 28 41 | 37 29 20 20 20 3b 70 75 |.A0, -(A|7) ;pu|
|00000280| 73 68 20 70 61 72 61 6d | 65 74 65 72 73 20 66 6f |sh param|eters fo|
|00000290| 72 20 75 73 65 72 20 72 | 6f 75 74 69 6e 65 0d 09 |r user r|outine..|
|000002a0| 6d 6f 76 65 2e 6c 09 41 | 31 2c 20 2d 28 41 37 29 |move.l.A|1, -(A7)|
|000002b0| 0d 0d 09 6d 6f 76 65 2e | 77 20 20 32 34 28 41 31 |...move.|w 24(A1|
|000002c0| 29 2c 20 44 30 20 20 3b | 63 6f 6d 70 75 74 65 20 |), D0 ;|compute |
|000002d0| 6f 77 6e 65 64 20 72 65 | 73 6f 75 72 63 65 20 49 |owned re|source I|
|000002e0| 44 20 6e 75 6d 62 65 72 | 0d 09 6e 65 67 09 44 30 |D number|..neg.D0|
|000002f0| 09 20 20 20 20 3b 64 72 | 69 76 65 72 20 72 65 66 |. ;dr|iver ref|
|00000300| 6e 75 6d 20 3d 20 2d 49 | 44 20 2d 20 31 0d 20 20 |num = -I|D - 1. |
|00000310| 20 20 09 73 75 62 71 20 | 20 20 20 23 31 2c 44 30 | .subq | #1,D0|
|00000320| 0d 09 61 73 6c 2e 77 09 | 23 35 2c 20 44 30 0d 09 |..asl.w.|#5, D0..|
|00000330| 6f 72 69 2e 77 20 20 20 | 23 30 78 63 30 30 30 2c |ori.w |#0xc000,|
|00000340| 20 44 30 0d 09 6d 6f 76 | 65 2e 77 20 20 44 30 2c | D0..mov|e.w D0,|
|00000350| 20 6f 69 64 28 41 36 29 | 0d 09 0d 09 73 75 62 71 | oid(A6)|....subq|
|00000360| 2e 6c 09 23 34 2c 41 37 | 09 20 20 20 20 3b 6c 6f |.l.#4,A7|. ;lo|
|00000370| 61 64 20 69 6e 20 74 68 | 65 20 73 74 72 69 6e 67 |ad in th|e string|
|00000380| 73 0d 09 6d 6f 76 65 2e | 6c 09 23 27 44 41 54 41 |s..move.|l.#'DATA|
|00000390| 27 2c 2d 28 41 37 29 0d | 09 6d 6f 76 65 09 44 30 |',-(A7).|.move.D0|
|000003a0| 2c 2d 28 41 37 29 20 20 | 20 20 3b 73 74 72 69 6e |,-(A7) | ;strin|
|000003b0| 67 20 49 44 20 64 65 70 | 65 6e 64 73 20 6f 6e 20 |g ID dep|ends on |
|000003c0| 44 52 56 52 20 49 44 0d | 09 64 63 2e 77 09 30 78 |DRVR ID.|.dc.w.0x|
|000003d0| 61 39 61 30 09 20 20 20 | 20 3b 67 65 74 72 65 73 |a9a0. | ;getres|
|000003e0| 6f 75 72 63 65 28 29 0d | 09 63 6c 72 2e 6c 09 44 |ource().|.clr.l.D|
|000003f0| 34 09 20 20 20 20 3b 73 | 74 72 69 6e 67 20 72 65 |4. ;s|tring re|
|00000400| 73 6f 75 72 63 65 20 6d | 61 79 20 6e 6f 74 20 65 |source m|ay not e|
|00000410| 78 69 73 74 2c 20 73 6f | 20 73 65 74 20 73 69 7a |xist, so| set siz|
|00000420| 65 20 74 6f 20 30 2e 0d | 09 74 73 74 2e 6c 09 28 |e to 0..|.tst.l.(|
|00000430| 41 37 29 09 20 20 20 20 | 3b 6d 6f 76 65 61 20 64 |A7). |;movea d|
|00000440| 6f 65 73 6e 27 74 20 73 | 65 74 20 63 6f 6e 64 69 |oesn't s|et condi|
|00000450| 74 69 6f 6e 20 63 6f 64 | 65 73 0d 09 6d 6f 76 65 |tion cod|es..move|
|00000460| 61 2e 6c 20 28 41 37 29 | 2b 2c 41 33 20 20 20 20 |a.l (A7)|+,A3 |
|00000470| 3b 68 61 6e 64 6c 65 20 | 74 6f 20 73 74 72 69 6e |;handle |to strin|
|00000480| 67 20 72 65 73 6f 75 72 | 63 65 20 69 6e 20 41 33 |g resour|ce in A3|
|00000490| 0d 09 62 65 71 09 6e 6f | 64 61 74 61 0d 0d 09 73 |..beq.no|data...s|
|000004a0| 75 62 71 2e 6c 09 23 34 | 2c 41 37 0d 09 6d 6f 76 |ubq.l.#4|,A7..mov|
|000004b0| 65 2e 6c 09 41 33 2c 2d | 28 41 37 29 0d 09 64 63 |e.l.A3,-|(A7)..dc|
|000004c0| 2e 77 09 30 78 61 39 61 | 35 09 20 20 20 20 3b 73 |.w.0xa9a|5. ;s|
|000004d0| 69 7a 65 72 65 73 6f 75 | 72 63 65 28 29 0d 09 6d |izeresou|rce()..m|
|000004e0| 6f 76 65 2e 6c 09 28 41 | 37 29 2b 2c 44 34 20 20 |ove.l.(A|7)+,D4 |
|000004f0| 20 20 3b 73 69 7a 65 20 | 6f 66 20 73 74 72 69 6e | ;size |of strin|
|00000500| 67 20 72 65 73 6f 75 72 | 63 65 20 69 6e 20 44 34 |g resour|ce in D4|
|00000510| 0d 0d 20 20 20 20 6e 6f | 64 61 74 61 3a 0d 09 64 |.. no|data:..d|
|00000520| 63 2e 77 09 30 78 33 61 | 33 63 09 20 20 20 20 3b |c.w.0x3a|3c. ;|
|00000530| 6d 6f 76 65 2e 77 20 23 | 5f 47 4c 42 4c 53 49 5a |move.w #|_GLBLSIZ|
|00000540| 45 2c 44 35 0d 09 64 63 | 2e 77 09 5f 47 4c 42 4c |E,D5..dc|.w._GLBL|
|00000550| 53 49 5a 45 0d 09 65 78 | 74 2e 6c 09 44 35 0d 09 |SIZE..ex|t.l.D5..|
|00000560| 6e 65 67 2e 6c 09 44 35 | 09 20 20 20 20 3b 5f 47 |neg.l.D5|. ;_G|
|00000570| 4c 42 4c 53 49 5a 45 20 | 69 73 20 6e 65 67 61 74 |LBLSIZE |is negat|
|00000580| 69 76 65 0d 09 6d 6f 76 | 65 2e 6c 09 44 35 2c 44 |ive..mov|e.l.D5,D|
|00000590| 30 0d 09 61 64 64 2e 6c | 09 44 34 2c 44 30 09 20 |0..add.l|.D4,D0. |
|000005a0| 20 20 20 3b 61 64 64 20 | 73 69 7a 65 20 6f 66 20 | ;add |size of |
|000005b0| 73 74 72 69 6e 67 20 73 | 70 61 63 65 0d 09 64 63 |string s|pace..dc|
|000005c0| 2e 77 09 30 78 61 37 32 | 32 09 20 20 20 20 3b 6e |.w.0xa72|2. ;n|
|000005d0| 65 77 68 61 6e 64 6c 65 | 28 29 20 26 20 63 6c 65 |ewhandle|() & cle|
|000005e0| 61 72 20 74 6f 20 7a 65 | 72 6f 73 0d 09 64 63 2e |ar to ze|ros..dc.|
|000005f0| 77 09 30 78 61 30 32 39 | 09 20 20 20 20 3b 68 6c |w.0xa029|. ;hl|
|00000600| 6f 63 6b 28 29 0d 0d 09 | 6d 6f 76 65 2e 6c 09 28 |ock()...|move.l.(|
|00000610| 41 37 29 2c 41 31 20 20 | 20 20 20 3b 73 61 76 65 |A7),A1 | ;save|
|00000620| 20 69 6e 20 64 63 74 6c | 73 74 6f 72 61 67 65 0d | in dctl|storage.|
|00000630| 09 6d 6f 76 65 2e 6c 09 | 41 30 2c 32 30 28 41 31 |.move.l.|A0,20(A1|
|00000640| 29 0d 0d 09 6d 6f 76 65 | 2e 6c 09 28 41 30 29 2c |)...move|.l.(A0),|
|00000650| 41 34 0d 09 61 64 64 61 | 2e 6c 09 44 35 2c 41 34 |A4..adda|.l.D5,A4|
|00000660| 09 20 20 20 20 3b 41 34 | 20 69 73 20 62 65 74 77 |. ;A4| is betw|
|00000670| 65 65 6e 20 73 74 72 69 | 6e 67 73 20 61 6e 64 20 |een stri|ngs and |
|00000680| 67 6c 6f 62 61 6c 73 0d | 09 6d 6f 76 65 2e 6c 20 |globals.|.move.l |
|00000690| 20 41 34 2c 53 41 56 45 | 41 34 0d 09 74 73 74 2e | A4,SAVE|A4..tst.|
|000006a0| 6c 09 44 34 09 20 20 20 | 20 3b 69 66 20 6e 6f 20 |l.D4. | ;if no |
|000006b0| 73 74 72 69 6e 67 73 2c | 20 74 68 65 6e 20 64 6f |strings,| then do|
|000006c0| 6e 27 74 20 62 6c 6f 63 | 6b 20 6d 6f 76 65 0d 09 |n't bloc|k move..|
|000006d0| 62 65 71 09 6e 6f 64 61 | 74 61 32 0d 09 6d 6f 76 |beq.noda|ta2..mov|
|000006e0| 65 2e 6c 09 28 41 33 29 | 2c 41 30 20 20 20 20 20 |e.l.(A3)|,A0 |
|000006f0| 3b 73 74 61 72 74 20 6f | 66 20 73 74 72 69 6e 67 |;start o|f string|
|00000700| 20 72 65 73 6f 75 72 63 | 65 0d 09 6d 6f 76 65 2e | resourc|e..move.|
|00000710| 6c 09 41 34 2c 41 31 09 | 20 20 20 20 3b 73 74 72 |l.A4,A1.| ;str|
|00000720| 69 6e 67 73 20 67 6f 20 | 61 62 6f 76 65 20 41 34 |ings go |above A4|
|00000730| 0d 09 6d 6f 76 65 2e 6c | 09 44 34 2c 44 30 09 20 |..move.l|.D4,D0. |
|00000740| 20 20 20 3b 6c 65 6e 67 | 74 68 20 6f 66 20 73 74 | ;leng|th of st|
|00000750| 72 69 6e 67 73 0d 09 64 | 63 2e 77 09 30 78 61 30 |rings..d|c.w.0xa0|
|00000760| 32 65 09 20 20 20 20 3b | 62 6c 6f 63 6b 6d 6f 76 |2e. ;|blockmov|
|00000770| 65 28 29 0d 0d 09 6d 6f | 76 65 2e 6c 09 41 33 2c |e()...mo|ve.l.A3,|
|00000780| 2d 28 41 37 29 20 20 20 | 20 3b 67 65 74 20 72 69 |-(A7) | ;get ri|
|00000790| 64 20 6f 66 20 74 68 65 | 20 73 74 72 69 6e 67 20 |d of the| string |
|000007a0| 72 65 73 6f 75 72 63 65 | 20 6e 6f 77 0d 09 64 63 |resource| now..dc|
|000007b0| 2e 77 09 30 78 61 39 61 | 33 09 20 20 20 20 3b 72 |.w.0xa9a|3. ;r|
|000007c0| 65 6c 65 61 73 65 72 65 | 73 6f 75 72 63 65 28 29 |eleasere|source()|
|000007d0| 0d 0d 20 20 20 20 6e 6f | 64 61 74 61 32 3a 0d 09 |.. no|data2:..|
|000007e0| 73 75 62 71 2e 6c 09 23 | 34 2c 41 37 09 20 20 20 |subq.l.#|4,A7. |
|000007f0| 20 3b 47 65 74 20 74 68 | 65 20 69 6e 69 74 20 63 | ;Get th|e init c|
|00000800| 6f 64 65 0d 09 6d 6f 76 | 65 2e 6c 09 23 27 49 4e |ode..mov|e.l.#'IN|
|00000810| 49 54 27 2c 2d 28 41 37 | 29 0d 09 6d 6f 76 65 09 |IT',-(A7|)..move.|
|00000820| 6f 69 64 28 41 36 29 2c | 2d 28 41 37 29 20 20 20 |oid(A6),|-(A7) |
|00000830| 3b 69 6e 69 74 20 49 44 | 20 64 65 70 65 6e 64 73 |;init ID| depends|
|00000840| 20 6f 6e 20 44 52 56 52 | 20 49 44 0d 09 64 63 2e | on DRVR| ID..dc.|
|00000850| 77 09 30 78 61 39 61 30 | 09 20 20 20 20 3b 67 65 |w.0xa9a0|. ;ge|
|00000860| 74 72 65 73 6f 75 72 63 | 65 28 29 0d 09 74 73 74 |tresourc|e()..tst|
|00000870| 2e 6c 09 28 41 37 29 09 | 20 20 20 20 3b 6d 6f 76 |.l.(A7).| ;mov|
|00000880| 65 61 20 64 6f 65 73 6e | 27 74 20 73 65 74 20 63 |ea doesn|'t set c|
|00000890| 6f 6e 64 69 74 69 6f 6e | 20 62 69 74 73 0d 09 6d |ondition| bits..m|
|000008a0| 6f 76 65 61 2e 6c 20 28 | 41 37 29 2b 2c 41 33 20 |ovea.l (|A7)+,A3 |
|000008b0| 20 20 20 3b 68 61 6e 64 | 6c 65 20 74 6f 20 69 6e | ;hand|le to in|
|000008c0| 69 74 20 72 65 73 6f 75 | 72 63 65 20 69 6e 20 41 |it resou|rce in A|
|000008d0| 33 0d 09 62 65 71 09 6e | 6f 69 6e 69 74 28 50 43 |3..beq.n|oinit(PC|
|000008e0| 29 20 20 3b 63 68 65 63 | 6b 20 74 6f 20 73 65 65 |) ;chec|k to see|
|000008f0| 20 69 66 20 69 6e 69 74 | 20 72 65 73 6f 75 72 63 | if init| resourc|
|00000900| 65 20 65 78 69 73 74 65 | 64 0d 0d 09 6d 6f 76 65 |e existe|d...move|
|00000910| 2e 6c 09 28 41 33 29 2c | 41 30 0d 09 6a 73 72 09 |.l.(A3),|A0..jsr.|
|00000920| 28 41 30 29 09 20 20 20 | 20 3b 65 78 65 63 75 74 |(A0). | ;execut|
|00000930| 65 20 74 68 65 20 69 6e | 69 74 20 63 6f 64 65 0d |e the in|it code.|
|00000940| 09 6d 6f 76 65 2e 6c 09 | 41 33 2c 2d 28 41 37 29 |.move.l.|A3,-(A7)|
|00000950| 0d 09 64 63 2e 77 09 30 | 78 61 39 61 33 09 20 20 |..dc.w.0|xa9a3. |
|00000960| 20 20 3b 72 65 6c 65 61 | 73 65 72 65 73 6f 75 72 | ;relea|seresour|
|00000970| 63 65 28 29 0d 0d 20 20 | 20 20 6e 6f 69 6e 69 74 |ce().. | noinit|
|00000980| 3a 0d 09 6a 73 72 09 61 | 63 63 6f 70 65 6e 28 50 |:..jsr.a|ccopen(P|
|00000990| 43 29 0d 0d 09 6d 6f 76 | 65 2e 6c 09 28 41 37 29 |C)...mov|e.l.(A7)|
|000009a0| 2b 2c 20 41 31 0d 09 6d | 6f 76 65 2e 6c 09 44 30 |+, A1..m|ove.l.D0|
|000009b0| 2c 2d 28 41 37 29 20 20 | 20 20 3b 73 61 76 65 20 |,-(A7) | ;save |
|000009c0| 72 65 73 75 6c 74 20 63 | 6f 64 65 0d 09 62 74 73 |result c|ode..bts|
|000009d0| 74 09 23 36 2c 34 28 41 | 31 29 09 3b 20 6c 6f 63 |t.#6,4(A|1).; loc|
|000009e0| 6b 65 64 3f 0d 09 62 6e | 65 09 6e 6f 75 6e 6c 6f |ked?..bn|e.nounlo|
|000009f0| 63 6b 0d 20 09 74 73 74 | 2e 6c 09 32 30 28 41 31 |ck. .tst|.l.20(A1|
|00000a00| 29 0d 20 09 62 65 71 09 | 6e 6f 75 6e 6c 6f 63 6b |). .beq.|nounlock|
|00000a10| 0d 09 6d 6f 76 65 2e 6c | 09 32 30 28 41 31 29 2c |..move.l|.20(A1),|
|00000a20| 20 41 30 0d 09 64 63 2e | 77 09 30 78 61 30 32 61 | A0..dc.|w.0xa02a|
|00000a30| 09 20 20 20 20 3b 68 75 | 6e 6c 6f 63 6b 28 29 20 |. ;hu|nlock() |
|00000a40| 74 68 65 20 73 74 6f 72 | 61 67 65 0d 0d 09 6e 6f |the stor|age...no|
|00000a50| 75 6e 6c 6f 63 6b 3a 0d | 09 6d 6f 76 65 2e 6c 09 |unlock:.|.move.l.|
|00000a60| 28 41 37 29 2b 2c 44 30 | 20 20 20 20 3b 72 65 73 |(A7)+,D0| ;res|
|00000a70| 75 6c 74 20 63 6f 64 65 | 0d 09 6d 6f 76 65 2e 6c |ult code|..move.l|
|00000a80| 09 28 41 37 29 2b 2c 41 | 30 09 3b 72 65 6d 6f 76 |.(A7)+,A|0.;remov|
|00000a90| 65 20 73 65 63 6f 6e 64 | 20 70 61 72 61 6d 65 74 |e second| paramet|
|00000aa0| 65 72 0d 09 6d 6f 76 65 | 2e 77 09 44 30 2c 31 36 |er..move|.w.D0,16|
|00000ab0| 28 41 30 29 09 3b 66 6f | 72 63 65 20 72 65 73 75 |(A0).;fo|rce resu|
|00000ac0| 6c 74 20 63 6f 64 65 0d | 09 6d 6f 76 65 2e 6c 20 |lt code.|.move.l |
|00000ad0| 20 28 41 37 29 2b 2c 53 | 41 56 45 41 34 0d 09 6d | (A7)+,S|AVEA4..m|
|00000ae0| 6f 76 65 6d 2e 6c 20 28 | 41 37 29 2b 2c 44 31 2d |ovem.l (|A7)+,D1-|
|00000af0| 44 35 2f 41 32 2d 41 34 | 20 20 3b 72 65 73 74 6f |D5/A2-A4| ;resto|
|00000b00| 72 65 20 72 65 67 69 73 | 74 65 72 73 0d 20 20 20 |re regis|ters. |
|00000b10| 20 7d 0d 7d 0d 0d 73 74 | 61 74 69 63 20 5f 63 61 | }.}..st|atic _ca|
|00000b20| 6c 6c 61 63 63 28 66 75 | 6e 63 29 0d 69 6e 74 20 |llacc(fu|nc).int |
|00000b30| 28 2a 66 75 6e 63 29 28 | 29 3b 0d 7b 0d 20 20 20 |(*func)(|);.{. |
|00000b40| 20 61 73 6d 20 7b 0d 09 | 6d 6f 76 65 6d 2e 6c 20 | asm {..|movem.l |
|00000b50| 44 31 2d 44 35 2f 41 32 | 2d 41 34 2c 2d 28 41 37 |D1-D5/A2|-A4,-(A7|
|00000b60| 29 20 20 3b 73 61 76 65 | 20 72 65 67 69 73 74 65 |) ;save| registe|
|00000b70| 72 73 20 74 68 61 74 20 | 6d 69 67 68 74 20 62 65 |rs that |might be|
|00000b80| 20 75 73 65 64 0d 09 6d | 6f 76 65 2e 6c 20 20 53 | used..m|ove.l S|
|00000b90| 41 56 45 41 34 2c 2d 28 | 41 37 29 0d 0d 09 6d 6f |AVEA4,-(|A7)...mo|
|00000ba0| 76 65 2e 6c 09 41 30 2c | 2d 28 41 37 29 20 20 20 |ve.l.A0,|-(A7) |
|00000bb0| 20 3b 6c 61 73 74 20 70 | 61 72 61 6d 65 74 65 72 | ;last p|arameter|
|00000bc0| 20 70 75 73 68 65 64 20 | 66 69 72 73 74 0d 09 6d | pushed |first..m|
|00000bd0| 6f 76 65 2e 6c 09 41 31 | 2c 2d 28 41 37 29 0d 0d |ove.l.A1|,-(A7)..|
|00000be0| 09 6d 6f 76 65 2e 6c 09 | 32 30 28 41 31 29 2c 20 |.move.l.|20(A1), |
|00000bf0| 41 30 0d 09 64 63 2e 77 | 09 30 78 61 30 32 39 09 |A0..dc.w|.0xa029.|
|00000c00| 20 20 20 20 3b 68 6c 6f | 63 6b 28 29 0d 0d 09 6d | ;hlo|ck()...m|
|00000c10| 6f 76 65 2e 6c 09 28 41 | 30 29 2c 41 34 20 20 20 |ove.l.(A|0),A4 |
|00000c20| 20 20 3b 73 65 74 20 75 | 70 20 41 34 20 62 65 74 | ;set u|p A4 bet|
|00000c30| 77 65 65 6e 20 67 6c 6f | 62 61 6c 73 20 61 6e 64 |ween glo|bals and|
|00000c40| 20 73 74 72 69 6e 67 73 | 0d 09 64 63 2e 77 09 30 | strings|..dc.w.0|
|00000c50| 78 33 61 33 63 09 20 20 | 20 20 3b 6d 6f 76 65 2e |x3a3c. | ;move.|
|00000c60| 77 20 23 5f 47 4c 42 4c | 53 49 5a 45 2c 44 35 0d |w #_GLBL|SIZE,D5.|
|00000c70| 09 64 63 2e 77 09 5f 47 | 4c 42 4c 53 49 5a 45 0d |.dc.w._G|LBLSIZE.|
|00000c80| 09 6e 65 67 09 44 35 09 | 20 20 20 20 3b 5f 47 4c |.neg.D5.| ;_GL|
|00000c90| 42 4c 53 49 5a 45 20 69 | 73 20 6e 65 67 61 74 69 |BLSIZE i|s negati|
|00000ca0| 76 65 0d 09 61 64 64 61 | 09 44 35 2c 41 34 0d 09 |ve..adda|.D5,A4..|
|00000cb0| 6d 6f 76 65 2e 6c 20 20 | 41 34 2c 53 41 56 45 41 |move.l |A4,SAVEA|
|00000cc0| 34 0d 0d 09 6d 6f 76 65 | 2e 6c 09 66 75 6e 63 28 |4...move|.l.func(|
|00000cd0| 41 36 29 2c 41 30 0d 09 | 6a 73 72 09 28 41 30 29 |A6),A0..|jsr.(A0)|
|00000ce0| 09 20 20 20 20 3b 63 61 | 6c 6c 20 75 73 65 72 20 |. ;ca|ll user |
|00000cf0| 66 75 6e 63 74 69 6f 6e | 0d 0d 09 6d 6f 76 65 2e |function|...move.|
|00000d00| 6c 09 28 41 37 29 2b 2c | 20 41 31 20 20 20 3b 66 |l.(A7)+,| A1 ;f|
|00000d10| 69 72 73 74 20 70 61 72 | 61 6d 65 74 65 72 20 77 |irst par|ameter w|
|00000d20| 61 73 20 74 68 65 20 64 | 65 76 69 63 65 20 63 6e |as the d|evice cn|
|00000d30| 74 72 6c 20 65 6e 74 72 | 79 0d 09 6d 6f 76 65 2e |trl entr|y..move.|
|00000d40| 6c 09 44 30 2c 2d 28 41 | 37 29 20 20 20 20 3b 73 |l.D0,-(A|7) ;s|
|00000d50| 61 76 65 20 72 65 73 75 | 6c 74 20 63 6f 64 65 0d |ave resu|lt code.|
|00000d60| 09 62 74 73 74 09 23 36 | 2c 34 28 41 31 29 09 3b |.btst.#6|,4(A1).;|
|00000d70| 20 6c 6f 63 6b 65 64 3f | 0d 09 62 6e 65 09 6e 6f | locked?|..bne.no|
|00000d80| 75 6e 6c 6f 63 6b 0d 20 | 09 74 73 74 2e 6c 09 32 |unlock. |.tst.l.2|
|00000d90| 30 28 41 31 29 0d 20 09 | 62 65 71 09 6e 6f 75 6e |0(A1). .|beq.noun|
|00000da0| 6c 6f 63 6b 0d 09 6d 6f | 76 65 2e 6c 09 32 30 28 |lock..mo|ve.l.20(|
|00000db0| 41 31 29 2c 20 41 30 0d | 09 64 63 2e 77 09 30 78 |A1), A0.|.dc.w.0x|
|00000dc0| 61 30 32 61 09 20 20 20 | 20 3b 68 75 6e 6c 6f 63 |a02a. | ;hunloc|
|00000dd0| 6b 28 29 20 74 68 65 20 | 73 74 6f 72 61 67 65 0d |k() the |storage.|
|00000de0| 0d 09 6e 6f 75 6e 6c 6f | 63 6b 3a 0d 09 6d 6f 76 |..nounlo|ck:..mov|
|00000df0| 65 2e 6c 09 28 41 37 29 | 2b 2c 44 30 20 20 20 20 |e.l.(A7)|+,D0 |
|00000e00| 3b 72 65 73 75 6c 74 20 | 63 6f 64 65 0d 09 6d 6f |;result |code..mo|
|00000e10| 76 65 2e 6c 09 28 41 37 | 29 2b 2c 41 30 09 3b 72 |ve.l.(A7|)+,A0.;r|
|00000e20| 65 6d 6f 76 65 20 73 65 | 63 6f 6e 64 20 70 61 72 |emove se|cond par|
|00000e30| 61 6d 65 74 65 72 0d 09 | 6d 6f 76 65 2e 77 09 44 |ameter..|move.w.D|
|00000e40| 30 2c 31 36 28 41 30 29 | 09 3b 66 6f 72 63 65 20 |0,16(A0)|.;force |
|00000e50| 72 65 73 75 6c 74 20 63 | 6f 64 65 0d 09 6d 6f 76 |result c|ode..mov|
|00000e60| 65 2e 6c 20 20 28 41 37 | 29 2b 2c 53 41 56 45 41 |e.l (A7|)+,SAVEA|
|00000e70| 34 0d 09 6d 6f 76 65 6d | 2e 6c 20 28 41 37 29 2b |4..movem|.l (A7)+|
|00000e80| 2c 20 44 31 2d 44 35 2f | 41 32 2d 41 34 20 3b 72 |, D1-D5/|A2-A4 ;r|
|00000e90| 65 73 74 6f 72 65 20 61 | 6c 6c 20 73 61 76 65 64 |estore a|ll saved|
|00000ea0| 20 72 65 67 69 73 74 65 | 72 73 0d 20 20 20 20 7d | registe|rs. }|
|00000eb0| 0d 7d 0d 0d 5f 61 63 63 | 70 72 69 6d 65 28 29 0d |.}.._acc|prime().|
|00000ec0| 7b 0d 20 20 20 20 5f 63 | 61 6c 6c 61 63 63 28 61 |{. _c|allacc(a|
|00000ed0| 63 63 70 72 69 6d 65 29 | 3b 0d 7d 0d 0d 5f 61 63 |ccprime)|;.}.._ac|
|00000ee0| 63 63 74 6c 28 29 0d 7b | 0d 20 20 20 20 5f 63 61 |cctl().{|. _ca|
|00000ef0| 6c 6c 61 63 63 28 61 63 | 63 63 74 6c 29 3b 0d 7d |llacc(ac|cctl);.}|
|00000f00| 0d 0d 5f 61 63 63 73 74 | 61 74 75 73 28 29 0d 7b |.._accst|atus().{|
|00000f10| 0d 20 20 20 20 5f 63 61 | 6c 6c 61 63 63 28 61 63 |. _ca|llacc(ac|
|00000f20| 63 73 74 61 74 75 73 29 | 3b 0d 7d 0d 0d 5f 61 63 |cstatus)|;.}.._ac|
|00000f30| 63 63 6c 6f 73 65 28 29 | 0d 7b 0d 20 20 20 20 61 |cclose()|.{. a|
|00000f40| 73 6d 20 7b 0d 09 6d 6f | 76 65 2e 6c 20 20 41 31 |sm {..mo|ve.l A1|
|00000f50| 2c 20 2d 28 41 37 29 0d | 20 20 20 20 7d 0d 20 20 |, -(A7).| }. |
|00000f60| 20 20 5f 63 61 6c 6c 61 | 63 63 28 61 63 63 63 6c | _calla|cc(acccl|
|00000f70| 6f 73 65 29 3b 0d 20 20 | 20 20 61 73 6d 20 7b 0d |ose);. | asm {.|
|00000f80| 09 6d 6f 76 65 2e 6c 20 | 20 28 41 37 29 2b 2c 20 |.move.l | (A7)+, |
|00000f90| 41 31 0d 09 6d 6f 76 65 | 2e 6c 09 44 30 2c 2d 28 |A1..move|.l.D0,-(|
|00000fa0| 41 37 29 20 20 20 20 20 | 3b 73 61 76 65 20 72 65 |A7) |;save re|
|00000fb0| 73 75 6c 74 20 63 6f 64 | 65 0d 09 6d 6f 76 65 2e |sult cod|e..move.|
|00000fc0| 6c 09 32 30 28 41 31 29 | 2c 41 30 20 20 20 20 3b |l.20(A1)|,A0 ;|
|00000fd0| 64 65 61 6c 6c 6f 63 61 | 74 65 20 74 68 65 20 67 |dealloca|te the g|
|00000fe0| 6c 6f 62 61 6c 20 61 6e | 64 20 73 74 72 69 6e 67 |lobal an|d string|
|00000ff0| 20 73 70 61 63 65 0d 09 | 64 63 2e 77 09 30 78 61 | space..|dc.w.0xa|
|00001000| 30 32 33 0d 09 63 6c 72 | 2e 6c 09 32 30 28 41 31 |023..clr|.l.20(A1|
|00001010| 29 09 20 20 20 20 20 3b | 72 65 6d 6f 76 65 20 66 |). ;|remove f|
|00001020| 72 6f 6d 20 64 65 76 69 | 63 65 20 63 6f 6e 74 72 |rom devi|ce contr|
|00001030| 6f 6c 20 65 6e 74 72 79 | 20 74 6f 6f 0d 09 6d 6f |ol entry| too..mo|
|00001040| 76 65 2e 6c 09 28 41 37 | 29 2b 2c 44 30 20 20 20 |ve.l.(A7|)+,D0 |
|00001050| 20 20 3b 72 65 73 74 6f | 72 65 20 72 65 73 75 6c | ;resto|re resul|
|00001060| 74 20 63 6f 64 65 0d 20 | 20 20 20 7d 0d 7d 0d 00 |t code. | }.}..|
|00001070| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001080| 00 00 01 00 00 00 01 1e | 00 00 00 1e 00 00 02 66 |........|.......f|
|00001090| 6c 65 3a 20 6f 73 75 74 | 69 6c 73 2e 43 0d 47 6c |le: osut|ils.C.Gl|
|000010a0| 6f 62 61 6c 20 34 34 36 | 2f 33 32 30 30 30 20 4c |obal 446|/32000 L|
|000010b0| 05 61 63 63 2e 63 02 00 | 00 00 54 45 58 54 45 44 |.acc.c..|..TEXTED|
|000010c0| 49 54 01 00 00 00 00 43 | 00 00 00 01 ab 66 00 00 |IT.....C|.....f..|
|000010d0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 00 00 43 |..TEXTED|IT.....C|
|000010e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000010f0| 00 00 9a 04 b7 97 00 00 | 0f ef 00 00 03 84 46 6c |........|......Fl|
|00001100| 6f 61 74 20 30 2f 33 32 | 30 30 30 2c 44 32 0d 09 |oat 0/32|000,D2..|
|00001110| 45 58 54 2e 4c 09 44 32 | 0d 09 50 45 41 09 70 61 |EXT.L.D2|..PEA.pa|
|00001120| 74 28 41 35 29 0d 09 4d | 4f 56 45 2e 4c 09 28 53 |t(A5)..M|OVE.L.(S|
|00001130| 50 29 2b 2c 44 30 0d 09 | 50 45 41 09 2d 31 30 35 |P)+,D0..|PEA.-105|
|00001140| 32 28 41 36 29 0d 09 4d | 4f 56 45 2e 4c 09 28 53 |2(A6)..M|OVE.L.(S|
|00001150| 50 29 2b 2c 44 31 0d 09 | 50 45 41 09 2d 31 30 35 |P)+,D1..|PEA.-105|
|00001160| 36 28 41 36 29 0d 09 4d | 4f 56 45 2e 4c 09 28 53 |6(A6)..M|OVE.L.(S|
|00001170| 50 29 2b 2c 44 33 0d 09 | 4a 53 52 09 73 65 61 72 |P)+,D3..|JSR.sear|
|00001180| 00 00 00 04 02 09 04 01 | 00 00 00 0a 00 09 06 4d |........|.......M|
|00001190| 6f 6e 61 63 6f 00 00 00 | 00 04 00 06 00 08 00 00 |onaco...|........|
|000011a0| 01 00 00 00 01 1e 00 00 | 00 1e 00 00 02 66 00 00 |........|.....f..|
|000011b0| cc 1c 00 98 00 00 00 1c | 00 5a 00 02 45 4f 50 54 |........|.Z..EOPT|
|000011c0| 00 00 00 1a 45 46 4e 54 | 00 00 00 26 45 54 41 42 |....EFNT|...&ETAB|
|000011d0| 00 00 00 32 03 ee 00 00 | 00 00 00 00 00 00 00 00 |...2....|........|
|000011e0| 03 eb 00 0c 00 00 00 08 | 00 01 66 a6 03 ec 01 0c |........|..f.....|
|000011f0| 00 00 00 16 00 01 66 a2 | 0b 65 64 69 74 6f 72 20 |......f.|.editor |
|00001200| 69 6e 66 6f ff fb 42 4a | ff ff ff ff 00 40 01 aa |info..BJ|.....@..|
|00001210| 00 40 01 ac 00 40 01 ae | 00 40 01 b0 00 40 01 b2 |.@...@..|.@...@..|
|00001220| 00 40 01 b4 00 40 01 b6 | 00 40 01 b8 00 40 10 18 |.@...@..|.@...@..|
|00001230| 00 40 01 bc 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001240| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001250| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001260| 00 40 01 be 00 40 01 be | 00 40 0b 94 00 40 0b bc |.@...@..|.@...@..|
|00001270| 00 40 0b ec 00 40 01 c0 | 00 40 01 c0 00 40 01 c0 |.@...@..|.@...@..|
|00001280| 00 40 01 c0 00 00 fb a6 | 00 00 f0 0e 00 00 fa 9a |.@......|........|
|00001290| 00 01 06 3c 00 00 f8 e8 | 00 40 01 be 00 00 fa ae |...<....|.@......|
|000012a0| 00 01 12 ae 00 00 f3 20 | 00 01 02 10 00 40 01 be |....... |.....@..|
|000012b0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000012c0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000012d0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000012e0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000012f0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001300| 00 40 01 be ff fb 42 4a | ff ff ff ff 00 40 01 aa |.@....BJ|.....@..|
|00001310| 00 40 01 ac 00 40 01 ae | 00 40 01 b0 00 40 01 b2 |.@...@..|.@...@..|
|00001320| 00 40 01 b4 00 40 01 b6 | 00 40 01 b8 00 40 10 18 |.@...@..|.@...@..|
|00001330| 00 40 01 bc 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001340| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001350| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001360| 00 40 01 be 00 40 01 be | 00 40 0b 94 00 40 0b bc |.@...@..|.@...@..|
|00001370| 00 40 0b ec 00 40 01 c0 | 00 40 01 c0 00 40 01 c0 |.@...@..|.@...@..|
|00001380| 00 40 01 c0 00 00 fb a6 | 00 00 f0 0e 00 00 fa 9a |.@......|........|
|00001390| 00 01 06 3c 00 00 f8 e8 | 00 40 01 be 00 00 fa ae |...<....|.@......|
|000013a0| 00 01 12 ae 00 00 f3 20 | 00 01 02 10 00 40 01 be |....... |.....@..|
|000013b0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000013c0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000013d0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000013e0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|000013f0| 00 40 01 be 00 40 01 be | 00 40 01 be 00 40 01 be |.@...@..|.@...@..|
|00001400| 00 40 01 be 00 00 00 00 | 00 00 00 00 00 00 00 00 |.@......|........|
|00001410| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001420| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001430| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001440| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001450| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001460| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001470| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+